#include <iostream>
#include <string>
using namespace std;

const int N = 20;
int c[20];
string s;
bool flag = false; 

void mul(int a[],int b[]){
	for(int i = 0;i < s.size();i++){
		for(int j = 0;j < 20;j++){
			c[i + j] += a[i] * b[j];
		}
	}
	for(int i = 0;i < 20;i++){
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    if(c[18] != 0){
    	flag = true;
	}
}

int main(){
	int n;
	cin >> n;
	for(int i = 1;i <= n;i++){
		cin >> s;
		int a[20] = {0};
		int b[20] = {0};
		if(s == "0"){
			cout << 0 << endl;
			return 0;
		}
		if(i == 1){
			for(int i4 = s.size() - 1;i4 >= 0;i4--){
			c[s.size() - 1 - i4] = s[i4] - '0'; 
			
			}
			continue;
		}
		for(int i2 = s.size() - 1;i2 >= 0;i2--){
			a[s.size() - 1 - i2] = s[i2] - '0'; 
		}
		for(int i3 = 0;i3 < 20;i3++){
			b[i3] = c[i3];
			c[i3] = 0;
		}
		mul(a,b);
		if(flag){
			cout << -1 << endl;
			return 0;
		}
	}
	int lc = 20;
	while(lc > 1 && c[lc - 1] == 0)lc--;
	for(int i = lc - 1;i >= 0;i--)cout << c[i];
	return 0;
}
